﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization;
using System.Data;

namespace CMD.BAL.CAT
{
   [DataContractAttribute]
   public class GrupClientes
   {
       [DataMemberAttribute(EmitDefaultValue = false)]
       public string idGrupoClientes;
       [DataMemberAttribute(EmitDefaultValue = false)]
       public List<GrupClientes> gcl;
       [DataMemberAttribute(EmitDefaultValue = false)]
       public string dscGrupoClientes;
       public static DataTable GetData()
       {
            DataTable dt;
            //ejecutar store
            dt = CMD_WEB.DAL.SrvDB.ExecuteQuery("exec SP_CMD_CAT_SEL_GPO_CLIENTES4");
            return dt;
       }
       public static DataTable GetDataGroupClieTipoNeg( string idTipoNegocio)
       {
           DataTable dt;
           //ejecutar store
           dt = CMD_WEB.DAL.SrvDB.ExecuteQuery("exec SP_CMD_CAT_GET_RTIPONEGOCIO_CLIENTES4 " + idTipoNegocio);
           return dt;
       }
       public static GrupClientes GetDataGroupClientesTipoNegocio(string idTipoNegocio)
       {
           try
           {
               GrupClientes grc;
               DataTable dt = GrupClientes.GetDataGroupClieTipoNeg(idTipoNegocio);
               if (dt.Rows.Count == 0)
               {
                   return null;
               }
               else if (idTipoNegocio == "")
               {
                   return null;
               }
               else
               {
                   grc = new GrupClientes(null, Convert.ToString(dt.Rows[0]["ID_GRUPOCLIENTES4"]));
               }
               return grc;
           }
           catch (Exception ex)
           {

               throw ex;
           }
       }
       public static List<GrupClientes> GetDataGroupClientes()
       {
            try
            {
                DataTable dt;
                dt = GrupClientes.GetData();
                //DataTable dt = new DataTable();
                if (dt.Rows.Count == 0)
                {
                    return null;
                }
                else
                {
                    List<GrupClientes> list = dt.AsEnumerable().Select(
                        row => new GrupClientes
                        {
                            idGrupoClientes = String.IsNullOrEmpty(row.Field<string>("ID_GRUPOCLIENTES4"))
                            ? ""
                            : row.Field<string>("ID_GRUPOCLIENTES4"),
                            dscGrupoClientes = String.IsNullOrEmpty(row.Field<string>("DSC_GRUPOCLIENTES4"))
                            ? ""
                            : row.Field<string>("DSC_GRUPOCLIENTES4"),
                        }
                        ).ToList();
                    return list;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public GrupClientes()
        {
            idGrupoClientes = "";
            dscGrupoClientes = "";
        }
        public GrupClientes(List<GrupClientes> gcl, string idGrupoClientes)
        {
            this.gcl=gcl;
            this.idGrupoClientes =idGrupoClientes;
        }
   }
}
